package com.vecspace.dayu.code.template.httphandler;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.vecspace.dayu.code.template.pojo.CodeFragment;
import com.vecspace.dayu.code.template.service.CodeFragmentService;
import com.vecspace.security.model.LoginContext;
import com.vecspace.web.servlet.model.BaseController;
import com.vecspace.web.servlet.model.HController;
import com.vecspace.web.servlet.model.Param;
import com.vecspace.web.servlet.model.Path;

@HController("dayucode_codeFragmentHandler")
public class CodeFragmentHandler  extends BaseController{
	

	@Path("getCodeFragment")
	public CodeFragment getCodeFragment(@Param("id")Long id) throws Exception {
		return codeFragmentService.getCodeFragment(id);
	}
	
	/** 插入或修改 DAYU_CODE_TEMPLATE ，item中的所有属性都会更新到数据库中（包括属性值为null的，也会将null更新到数据库，覆盖之前的值）。
	 * @param item	要保存的对象
	 * @return void
	 * @throws Exception
	 * @author wanghua
	 */
	@Path("saveCodeFragment")
	public CodeFragment saveCodeFragment(@Param("item")CodeFragment item) throws Exception{
		String loginUserId = LoginContext.getLoginId();
		return codeFragmentService.saveWebCodeFragment(item, loginUserId);
	}

	@Path("updateCodeTemplateText")
	public void updateCodeTemplateText(@Param("id")Long id, @Param("codeTemplateText")String codeTemplateText) throws Exception {
		codeFragmentService.updateCodeTemplate(id, codeTemplateText);
	}

	@Path("deleteCodeFragment")
	public void deleteCodeFragment(@Param("id")Long id) throws Exception {
		codeFragmentService.deleteCodeFragment(id);
	}

	@Path("getAllCodeFragments")
	public List<CodeFragment> getAllCodeFragments() throws Exception{
		return codeFragmentService.getAllCodeFragments();
	}
	
	@Autowired
	private CodeFragmentService codeFragmentService;
}
